package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM2303{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M2301(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL( SHP_DSTN_CD,'') AS SHP_DSTN_CD,");
		sql.append("NVL( CLNT_CD,'') AS CLNT_CD,");
		sql.append("NVL( CTRL_DVSN_CD,'') AS CTRL_DVSN_CD,");
		sql.append("NVL( APL_BDT,'') AS APL_BDT,");
		sql.append("NVL( APL_EDT,'') AS APL_EDT,");
		sql.append("TO_CHAR(NVL( RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL( RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL( RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL( UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL( UPD_PGID,'') AS UPD_PGID ,");
		sql.append("NVL( FM_TYP,'') AS FM_TYP ");
		sql.append("FROM M23 ");
		sql.append("WHERE CTRL_DVSN_CD "+((getString("CTRL_DVSN_CD").equals(""))?" is null ":"=")+getString("CTRL_DVSN_CD")+" ");
		sql.append("AND SHP_DSTN_CD "+((getString("SHP_DSTN_CD").equals(""))?" is null ":"=")+getString("SHP_DSTN_CD")+" ");
		sql.append("AND CLNT_CD "+((getString("CLNT_CD").equals(""))?" is null ":"=")+getString("CLNT_CD")+"  ");
		sql.append("ORDER BY SHP_DSTN_CD,CLNT_CD,CTRL_DVSN_CD  ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M2302(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL( SHP_DSTN_CD,'') AS SHP_DSTN_CD,");
		sql.append("NVL( CLNT_CD,'') AS CLNT_CD,");
		sql.append("NVL( CTRL_DVSN_CD,'') AS CTRL_DVSN_CD,");
		sql.append("NVL( APL_BDT,'') AS APL_BDT,");
		sql.append("NVL( APL_EDT,'') AS APL_EDT,");
		sql.append("TO_CHAR(NVL( RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL( RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL( RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL( UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL( UPD_PGID,'') AS UPD_PGID ,");
		sql.append("NVL( FM_TYP,'') AS FM_TYP ");
		sql.append("FROM M23 ");
		sql.append("WHERE CTRL_DVSN_CD "+((getString("CTRL_DVSN_CD").equals(""))?" is null ":"=")+getString("CTRL_DVSN_CD")+" ");
		sql.append("AND SHP_DSTN_CD "+((getString("SHP_DSTN_CD").equals(""))?" is null ":"=")+getString("SHP_DSTN_CD")+" ");
		sql.append("AND CLNT_CD "+((getString("CLNT_CD").equals(""))?" is null ":"=")+getString("CLNT_CD")+" ");
		sql.append("AND TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') "+((getString("UPD_DTTM").equals(""))?" is null ":"=")+getString("UPD_DTTM")+" ");
		sql.append("ORDER BY SHP_DSTN_CD,CLNT_CD,CTRL_DVSN_CD  ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public int INSERT_BM2303(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" INSERT INTO BM23(");
		sql.append("SEQ_NO,");
		sql.append("SHP_DSTN_CD,");
		sql.append("CLNT_CD,");
		sql.append("CTRL_DVSN_CD,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT, ");
		sql.append("FM_TYP,");
		sql.append("RGS_DTTM,");
		sql.append("RGS_CHRG_CD,");
		sql.append("RGS_PGID,");
		sql.append("UPD_DTTM,");
		sql.append("UPD_CHRG_CD,");
		sql.append("UPD_PGID");
		sql.append(") ");
		sql.append("select SEQ_BM23.NEXTVAL,");
		sql.append("SHP_DSTN_CD,");
		sql.append("CLNT_CD,");
		sql.append("CTRL_DVSN_CD,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT, ");
		sql.append("FM_TYP,");
		sql.append("RGS_DTTM,");
		sql.append("RGS_CHRG_CD,");
		sql.append("RGS_PGID,");
		sql.append("UPD_DTTM,");
		sql.append("UPD_CHRG_CD,");
		sql.append("UPD_PGID ");
		sql.append("FROM M23  ");
		sql.append("WHERE CTRL_DVSN_CD "+((getString("CTRL_DVSN_CD").equals(""))?" is null ":"=")+getString("CTRL_DVSN_CD")+" ");
		sql.append("AND SHP_DSTN_CD "+((getString("SHP_DSTN_CD").equals(""))?" is null ":"=")+getString("SHP_DSTN_CD")+" ");
		sql.append("AND CLNT_CD "+((getString("CLNT_CD").equals(""))?" is null ":"=")+getString("CLNT_CD")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public int UPDATE_M2304(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("	UPDATE M23");
		sql.append("	SET");
		sql.append("	CTRL_DVSN_CD "+((getString("CTRL_DVSN_CD").equals(""))?" is null ":"=")+getString("CTRL_DVSN_CD")+",            ");
		sql.append("    SHP_DSTN_CD "+((getString("SHP_DSTN_CD").equals(""))?" is null ":"=")+getString("SHP_DSTN_CD")+",         ");
		sql.append("    CLNT_CD "+((getString("CLNT_CD").equals(""))?" is null ":"=")+getString("CLNT_CD")+",");
		sql.append("    APL_BDT "+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+",            ");
		sql.append("    APL_EDT "+((getString("APL_EDT").equals(""))?" is null ":"=")+getString("APL_EDT")+",            ");
		sql.append("    RGS_DTTM = TO_DATE("+getString("RGS_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append("    RGS_CHRG_CD "+((getString("RGS_CHRG_CD").equals(""))?" is null ":"=")+getString("RGS_CHRG_CD")+",");
		sql.append("    RGS_PGID "+((getString("RGS_PGID").equals(""))?" is null ":"=")+getString("RGS_PGID")+",");
		sql.append("    UPD_DTTM = TO_DATE("+getString("UPD_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append("    UPD_CHRG_CD "+((getString("UPD_CHRG_CD").equals(""))?" is null ":"=")+getString("UPD_CHRG_CD")+",        ");
		sql.append("    UPD_PGID "+((getString("UPD_PGID").equals(""))?" is null ":"=")+getString("UPD_PGID")+",");
		sql.append("    FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		sql.append("    WHERE CTRL_DVSN_CD "+((getString("CTRL_DVSN_CD").equals(""))?" is null ":"=")+getString("CTRL_DVSN_CD")+" ");
		sql.append("    AND SHP_DSTN_CD "+((getString("SHP_DSTN_CD").equals(""))?" is null ":"=")+getString("SHP_DSTN_CD")+" ");
		sql.append("    AND CLNT_CD "+((getString("CLNT_CD").equals(""))?" is null ":"=")+getString("CLNT_CD")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}


	public void setCTRL_DVSN_CD(String value){
		if(value==null) {
			paramsString.remove("CTRL_DVSN_CD");
			return;
		}
		paramsString.put("CTRL_DVSN_CD",value);
	}


	public void setSHP_DSTN_CD(String value){
		if(value==null) {
			paramsString.remove("SHP_DSTN_CD");
			return;
		}
		paramsString.put("SHP_DSTN_CD",value);
	}


	public void setCLNT_CD(String value){
		if(value==null) {
			paramsString.remove("CLNT_CD");
			return;
		}
		paramsString.put("CLNT_CD",value);
	}


	public void setUPD_DTTM(String value){
		if(value==null) {
			paramsString.remove("UPD_DTTM");
			return;
		}
		paramsString.put("UPD_DTTM",value);
	}


	public void setAPL_BDT(String value){
		if(value==null) {
			paramsString.remove("APL_BDT");
			return;
		}
		paramsString.put("APL_BDT",value);
	}


	public void setAPL_EDT(String value){
		if(value==null) {
			paramsString.remove("APL_EDT");
			return;
		}
		paramsString.put("APL_EDT",value);
	}


	public void setRGS_DTTM(String value){
		if(value==null) {
			paramsString.remove("RGS_DTTM");
			return;
		}
		paramsString.put("RGS_DTTM",value);
	}


	public void setRGS_CHRG_CD(String value){
		if(value==null) {
			paramsString.remove("RGS_CHRG_CD");
			return;
		}
		paramsString.put("RGS_CHRG_CD",value);
	}


	public void setRGS_PGID(String value){
		if(value==null) {
			paramsString.remove("RGS_PGID");
			return;
		}
		paramsString.put("RGS_PGID",value);
	}


	public void setUPD_CHRG_CD(String value){
		if(value==null) {
			paramsString.remove("UPD_CHRG_CD");
			return;
		}
		paramsString.put("UPD_CHRG_CD",value);
	}


	public void setUPD_PGID(String value){
		if(value==null) {
			paramsString.remove("UPD_PGID");
			return;
		}
		paramsString.put("UPD_PGID",value);
	}


	public void setFM_TYP(String value){
		if(value==null) {
			paramsString.remove("FM_TYP");
			return;
		}
		paramsString.put("FM_TYP",value);
	}


}
